// 入口函数，当浏览器上输入网址请求这个网站 或者刷新页面  即 这个网站首次打开就会触发这个函数  适合做一些用户信息初始化 在store上初始化一些信息
// 注意 这个地方只会在客户端渲染触发  所以这里初始化一些不需要服务端渲染的数据
// 入口函数的数据请求最好放在 store 里面，这样其他地方可以方便的拿到数据做展示

import { useMemberStore } from '~/store/member'
import { useMetaStore } from '~/store/meta'

export default defineNuxtPlugin((NuxtApp) => {
  // 获取在env.config.ts或者nuxt.config.ts中的runtimeConfig配置  注意仅暴露public配置字段
  const runtimeConfig = useRuntimeConfig()
  const memberStore = useMemberStore()
  const metaStore = useMetaStore()
  let { currencyId, utm_source, gad_source, gclid, channel } = useRoute().query
  currencyId = [].concat(currencyId)[0] as string
  channel = [].concat(channel)[0] as string
  currencyId && localStorage.setItem('currencyId', currencyId)
  channel && localStorage.setItem('channel', channel)
  const langCookie = useCookie('i18n_redirected', { path: '/', default: () => 'en' })
  memberStore.updateMemberProfile(null, { utm_source, gad_source, gclid, lang: langCookie.value })
  metaStore.initCurrency()
})
